// 这个注册全局组件的js模块, 这就是一个js插件
// 这个模块需要导出一个对象或者函数, 如果导出的是一个对象, 需要提供install方法,
import PageTools from './PageTools'
import UploadExcelComponent from './UploadExcel'
import UploadImage from './UploadImage'

export default {
  install(Vue) { // install方法在调用时,会将Vue作为参数传入
    // 注册组件
    Vue.component(PageTools.name, PageTools)
    Vue.component(UploadExcelComponent.name, UploadExcelComponent)
    Vue.component(UploadImage.name, UploadImage)
    // 这个install函数不仅可以注册组件, 可以注册全局的过滤器, 全局的指令
    Vue.directive('color', {
      inserted(el) {
        el.style.color = 'green'
      }
    })
  }
}
// 如果导出的是一个函数, 这个函数会被视为install方法
/* export default function(Vue) {
  Vue.component(PageTools.name, PageTools)
  // 这个install函数不仅可以注册组件, 可以注册全局的过滤器, 全局的指令
  Vue.directive('color', {
    inserted(el) {
      el.style.color = 'green'
    }
  })
} */

// Vue的插件机制是什么 Vue.use干了啥? 核心就是执行了一个install方法
